package test;
import java.util.Scanner;
public class Main2 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		double[] arr = new double[n];
		for (int i = 0; i < arr.length; i++) {
			String str = in.next();  
			try{
			arr[i] = Integer.parseInt(str);
			}catch(IllegalArgumentException e){
				System.out.println(e);
				i--;
			}
		}
        while(in.hasNextInt()){
    	    try{
    		   System.out.println(ArrayUtils.findMax(arr, in.nextInt(), in.nextInt()));
    	    }catch(IllegalArgumentException e2){
    		   System.out.println(e2);
    	    }
        }
        try {
    	    System.out.println(ArrayUtils.class.getDeclaredMethod("findMax", double[].class,int.class,int.class));
        } catch (Exception e1) {
        }   
        in.close();
    }
}

class ArrayUtils{
	public static double findMax(double[] arr,int begin, int end)throws IllegalArgumentException{		
		if(begin>=end) throw new IllegalArgumentException("begin:"+begin+" >= end:"+end);
		else if(begin<0) throw new IllegalArgumentException("begin:"+begin+" < 0");
		else if(end>arr.length) throw new IllegalArgumentException("end:"+end+" > arr.length");
		double max = arr[begin];
		for (int i = begin; i < end; i++) {
			if(max < arr[i])  max = arr[i];
		}
		return max;		
	}
}
